/**
 * 右侧表格字段搜索功能
 * liuhs@meritit.com
 * @create 2018-09-09
 * */
;(function($){
	$.widget("tempo.mine_grid_columns_search",{
		options:{
			gridTable:null,
			//是不是属性过滤节点，默认不是，专门为属性过滤节点加的
			AttributeFilter: false,
			//传入属性过滤右侧表格div的class属性，默认为null，专门为属性过滤节点加的
			AttributeFilterClass: null,
			width:'235px',
		},
		_create:function(){
			var that = this;
			var gridTable = this.options.gridTable;
			var width = this.options.width;
			this.element.searchbar({
				auto:true,
				isEnter:true,
				width:width,
				placeholder:TempoUtils.locale("mine.sousuziduanming"),
				onSearch:function(searchContent){
					var rowid = gridTable.datagrid("getLastEditId");
					if (rowid && rowid != ""){
						// 保存修改的行数据
						gridTable.datagrid("saveRow", rowid);
					}
					// 获取当前页的所有数据，修改过的
					var currentRowData = gridTable.datagrid("getRowData");
					// 获取表格里所有数据--没有更新的
					var allData = gridTable.datagrid("getAllData");
					// 遍历两个数据，将当前页数据同步到所有数据里
					var len = allData.length;
					for (var i=0; i<len; i++){
						currentRowData.forEach(
							function(temp){
								if (allData[i].id == temp.id){
									allData[i] = temp;
								}
							}
						);
					}
					// 将更新后的所有数据保存回去
					gridTable.datagrid("setAllData", allData);
					var oldData = gridTable.datagrid("option").data;
					// 判断是不是属性过滤节点
					if (that.options.AttributeFilter) {
						// 为属性过滤模型读取选择字段到属性过滤右侧表格之后，使用搜索生效
						// 获取属性过滤右侧表格里的数据
						oldData = $(that.options.AttributeFilterClass).tempo_grid_columns_selected("getRowsData");
					}
					var xxx = $.extend([],true,oldData);
					var searchContent = $.trim(searchContent).toUpperCase();
					var newData = [];
					for (var i = 0; i < xxx.length; i++) {
						var data = xxx[i];
						var filedName = (data.desc).toUpperCase();
						if (filedName.indexOf(searchContent) >= 0) {
							newData.push(data);
						}
					}
					gridTable.datagrid("clearGridData");
					gridTable.datagrid("setGridParam",{datatype:'local',data:newData})
					gridTable.datagrid("reloadGrid");
				}
			});
		},
		_setOption:function(key,val){

		},
		_bindEvent:function(ul) {

		}
	});
})(jQuery)